package com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo.customerCompany;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 企业客户更新 Request VO")
@Data
@ToString(callSuper = true)
public class CustomerCompanyUpdateReqVO {
    /**
     * id
     */
    @Schema(description = "id", required = true)
    @NotNull(message = "id不能为空")
    private Long id;
    /**
     * 企业名称
     */
    @Schema(description = "企业名称", required = true)
    @Size(max = 30, message = "企业名称限制最多30个字")
    private String companyName;
    /**
     * 法人名称
     */
    @Schema(description = "法人名称")
    @Size(max = 15, message = "法人名称限制最多15个字")
    private String leader;
    /**
     * 社会统一信用代码
     */
    @Schema(description = "社会统一信用代码")
    @Size(max = 20, message = "社会统一信用代码限制最多20个字")
    private String businessLicence;
    /**
     * 营业执照图片
     */
    @Schema(description = "营业执照图片")
    private String businessLicencePic;
    /**
     * 公司电话
     */
    @Schema(description = "公司电话")
    @Size(max = 12, message = "公司电话限制最多12位)")
    private String telephone;
    /**
     * 企业地址
     */
    @Schema(description = "企业地址")
    @Size(max = 150, message = "企业地址限制最多150个字")
    private String address;
    /**
     * 所属行业
     */
    @Schema(description = "所属行业")
    @Size(max = 18, message = "所属行业限制最多18个字")
    private String industry;
    /**
     * 公司规模
     */
    @Schema(description = "公司规模")
    @Size(max = 9, message = "公司规模限制最多9位")
    private String companySize;
    /**
     * 企业状态
     */
    @Schema(description = "企业状态")
    @Size(max = 10, message = "企业状态限制最多10个字")
    private String status;
    /**
     * 所属银行
     */
    @Schema(description = "所属银行")
    @Size(max = 18, message = "所属银行限制最多18个字")
    private String bank;
    /**
     * 账户名称
     */
    @Schema(description = "账户名称")
    @Size(max = 50, message = "账户名称限制最多50个字")
    private String accountName;
    /**
     * 银行账号
     */
    @Schema(description = "银行账号")
    @Size(max = 20, message = "银行账号限制最多20位")
    private String creditCard;
    /**
     * 开户行名称
     */
    @Schema(description = "开户行名称")
    @Size(max = 25, message = "开户行名称限制最多25个字")
    private String bankArea;
    /**
     * 联系人名称
     */
    @Schema(description = "联系人名称")
    @Size(max = 15, message = "联系人名称限制最多15个字")
    private String contactsName;
    /**
     * 联系人手机号
     */
    @Schema(description = "联系人手机号")
    @Size(max = 11, message = "联系人手机号限制最多11位")
    private String contactsPhone;


    /**
     * 代理人名称
     */
    @Schema(description = "代理人名称")
    private String agentName;
    /**
     * 代理人手机号
     */
    @Schema(description = "代理人手机号")
    private String agentPhone;

    /**
     * 备注
     */
    @Schema(description = "备注")
    @Size(max = 150, message = "备注限制最多150个字")
    private String remark;
    /**
     * 证件图片
     */
    @Schema(description = "证件图片")
    private List<String> documentList;

    /**
     * 大客户 0否  1是
     */
    @Schema(description = "大客户 0否  1是")
    private Integer keyAccount;
    /**
     * 优惠折扣
     */
    @Schema(description = "优惠折扣")
    @Max(value = 100, message = "优惠折扣最大值不能超过100")
    private Integer discountValue;
}
